Internationalization refers to a process of designing a software application so that it may be adapted to multiple languages. Localization refers to the process of adapting internationalized software for a specific region or language by adding locale-specific components or translating text. Web-based applications are facing increasing internationalization and localization issues as increasing global business leads to users who are more geographically diverse. Network sites may, for example, have parallel installations of their software, with the software being pre-translated and prepared for different markets. However, internal applications and other types of applications can rarely justify the cost of parallel application installations, or even development of applications for different locales.